IPTV employs a packet based delivery mechanism to provide the user with streamed content. Typically, an IPTV network utilizes SIP as a signaling protocol used to create sessions between a viewer terminal and a content source. The use of SIP allows an intermediate node, such as an IPTV control server, to create a session between the viewer terminal and a content source. The IPTV control server can then centralize user authentication and authorization functions. Additionally, the billing can be handled using the records generated by the IPTV control server.
Content On Demand (COD) delivery systems in an IPTV context are known in the art. Similarly, the transferring of a session between one user terminal and another is also known in the art. It is common, and known in the art, for a user to be able to pause a COD session and request to the IPTV control server transfer the session to another terminal. This allows a user, for example, to begin watching a movie in one room of a house and then transfer the movie to another room in the house. To the IPTV control server, each set top box, or Open IPTV Terminal Function (OITF) is a separate entity and thus, a user requesting that content be delivered to a first terminal does not necessarily imply that the content should be automatically delivered to another terminal. Session transfer provides a useful function to the end user and improves the user experience.
However, session transfer mechanisms known in the art all revolve around an IPTV control server transferring a session from one OITF to another, where both OITFs are served by the same IPTV control server. Although this is not a problem in many instances, it does deny the user a certain amount of flexibility. For example, if a user begins a COD program at home, but then wishes to transfer the program to a mobile device it may not be possible if the two terminals are served by different IPTV control servers. One skilled in the art will appreciate that from a logical perspective different Internet Multimedia System (IMS) subscriptions are no different than different IPTV control servers. Although the following discussion makes reference to independent IPTV control servers, one server facilitating two different subscriptions is equivalent.
There are many technical difficulties associated with transferring a session between terminals not served by the same IPTV control server (or as indicated above between two different subscriptions on the same physical server). Whereas the transfer between terminals served by the same IPTV control server (and under the same subscription) can simply be performed by having the IPTV control server direct the content source to specify new destination for the content stream, this is not possible if the transfer destination terminal is not served by the same IPTV control server. An IPTV Control server typically creates two signaling sessions, a first session connecting the IPTV Control Server to the terminal endpoint, and a second session connecting the IPTV Control Server to a content source.
The sessions created by the IPTV control server, a first session typically connecting the IPTV control server to a terminal and a second session connecting the IPTV control server to the content source, allow the IPTV control server, acting as a third party call control, to monitor and control session information using the protocol such as SIP. The IPTV control server associated with an intended recipient terminal has none of the session information known by a first IPTV control server. As such, the 2nd IPTV control server cannot control the session in the same manner. Accordingly, session transfer using traditional and known methods is not possible across multiple IPTV control servers.
It is, therefore, desirable to provide a mechanism for a contact-centric view of social networking.